# Copyright 2018 the V8 project authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/sysroot.gni")
import("../../gni/v8.gni")

if (v8_gcmole) {
  group("v8_gcmole_files") {
    testonly = true
    data_deps = [
      ":v8_gcmole_args",
      "../../:v8_dump_build_config",
      "../../:v8_generated_cc_files",
    ]
    data = [
      "gcmole.py",
      "gcmole-test.cc",
      "gcmole-tools/",
      "run-gcmole.py",
      "suspects.allowlist",
      "ignored_files",
      "test-expectations.txt",

      # The following contains all relevant source and build files.
      "../debug_helper/debug-helper.h",
      "../../BUILD.gn",
      "../../base/",
      "../../include/",
      "../../src/",
      "../../test/cctest/",
      "../../test/common/",
      "../../testing/gtest/include/gtest/gtest_prod.h",
      "../../third_party/abseil-cpp/",
      "../../third_party/glibc/",
      "../../third_party/googletest/src/googletest/include/gtest/gtest_prod.h",
      "../../third_party/icu/source/common/",
      "../../third_party/icu/source/i18n/",
      "../../third_party/wasm-api/wasm.h",
      "../../third_party/wasm-api/wasm.hh",
      "../../third_party/zlib/",
      "../../third_party/inspector_protocol/",
      "$target_gen_dir/../../",
      "$target_gen_dir/../../torque-generated/",

      # This assumes gcmole tools have been fetched by a hook
      # into v8/tools/gcmole/gcmole_tools.
      "gcmole-tools/",

      # We use the bundled sysroot with gcmole.
      sysroot,
    ]
  }

  # Only prepare gcmole args if gcmole is activated by a gn arg.
  action("v8_gcmole_args") {
    script = "gcmole_args.py"
    outputs = [ "$root_out_dir/v8_gcmole.args" ]
    args = [ sysroot ]

    # We use an arbitrary v8 target as proxy for calculating globally used
    # gcmole plugin arguments. Should be a target that's early in the chain
    # and that enables icu.
    deps = [ "../../:v8_base_without_compiler" ]
  }
}
